#ifndef __LIST_H__
#define __LIST_H__

//用户数据结构体
typedef struct user_t
{
    char name[16]; 		//用户名
    char passwd[64];	//用户密码
    char IDcard[128] ;  //用户身份证信息
    int value ;  		//余额
    f_data ticket[2];	//存储航班信息的数组。
    float rate;           //折扣
    int grade;
}user_t;
//用户数据节点 - 单链表
typedef struct u_node
{
    user_t  userm;
    struct u_node * next;
}u_node;
//用户数据头节点
typedef struct u_list
{
    struct u_node * next;
}u_list;

// 单链表的创建
u_list* init_link_list();

// 单链表的插入
void insert_node(u_list* list, user_t data, int pos);

// 单链表的删除
void delete_node(u_list* list, int pos);

//单链表按名字删除
void delete_node_name(u_list* list , char* name);

// 单链表的查找
u_node* find_node_id(u_list* list, int pos);
u_node* find_node_name(u_list* list, char* name);

// 单链表的遍历
void print_link_list(u_list* list);

// 单链表的合并
u_list* merge_link_lists(u_list* list1, u_list* list2);

// 单链表的清空
void clear_link_list(u_list* list);

// 单链表的销毁
void free_link_list(u_list** list);

//用户信息写入文件
void F_u_print(u_list* list , const char * file_name);

// 从用户文件中读取
void F_u_scanf(u_list* list , const char * file_name);

void my_memset(f_data *ticket);

#endif // __LIST_H__
